<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Box2D: b2FrictionJoint Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="icon.gif"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Box2D
   &#160;<span id="projectnumber">2.2.1</span>
   </div>
   <div id="projectbrief">A 2D Physics Engine for Games</div>
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">b2FrictionJoint Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="b2FrictionJoint" --><!-- doxytag: inherits="b2Joint" -->
<p><code>#include &lt;<a class="el" href="b2_friction_joint_8h_source.html">b2FrictionJoint.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for b2FrictionJoint:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classb2_friction_joint.png" usemap="#b2FrictionJoint_map" alt=""/>
  <map id="b2FrictionJoint_map" name="b2FrictionJoint_map">
<area href="classb2_joint.html" alt="b2Joint" shape="rect" coords="0,0,96,24"/>
</map>
 </div></div>

<p><a href="classb2_friction_joint-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01918be429fa5d37d51fda4fe0cc639b"></a><!-- doxytag: member="b2FrictionJoint::GetAnchorA" ref="a01918be429fa5d37d51fda4fe0cc639b" args="() const " -->
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#a01918be429fa5d37d51fda4fe0cc639b">GetAnchorA</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the anchor point on bodyA in world coordinates. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac519021aadea0faf1df01f232023c745"></a><!-- doxytag: member="b2FrictionJoint::GetAnchorB" ref="ac519021aadea0faf1df01f232023c745" args="() const " -->
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#ac519021aadea0faf1df01f232023c745">GetAnchorB</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the anchor point on bodyB in world coordinates. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae646d8a191e490f690b748f057cdd90b"></a><!-- doxytag: member="b2FrictionJoint::GetReactionForce" ref="ae646d8a191e490f690b748f057cdd90b" args="(float32 inv_dt) const " -->
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#ae646d8a191e490f690b748f057cdd90b">GetReactionForce</a> (float32 inv_dt) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the reaction force on bodyB at the joint anchor in Newtons. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49479d4af9c4bffa0b146d153c78512c"></a><!-- doxytag: member="b2FrictionJoint::GetReactionTorque" ref="a49479d4af9c4bffa0b146d153c78512c" args="(float32 inv_dt) const " -->
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#a49479d4af9c4bffa0b146d153c78512c">GetReactionTorque</a> (float32 inv_dt) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the reaction torque on bodyB in N*m. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91ef023d373f775c401ae359f6f74d60"></a><!-- doxytag: member="b2FrictionJoint::GetLocalAnchorA" ref="a91ef023d373f775c401ae359f6f74d60" args="() const " -->
const <a class="el" href="structb2_vec2.html">b2Vec2</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#a91ef023d373f775c401ae359f6f74d60">GetLocalAnchorA</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The local anchor point relative to bodyA's origin. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd57698eb559d36eeac6df00dfd8b89f"></a><!-- doxytag: member="b2FrictionJoint::GetLocalAnchorB" ref="acd57698eb559d36eeac6df00dfd8b89f" args="() const " -->
const <a class="el" href="structb2_vec2.html">b2Vec2</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#acd57698eb559d36eeac6df00dfd8b89f">GetLocalAnchorB</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The local anchor point relative to bodyB's origin. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7936d852b5ad71dc92efc397865dda41"></a><!-- doxytag: member="b2FrictionJoint::SetMaxForce" ref="a7936d852b5ad71dc92efc397865dda41" args="(float32 force)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#a7936d852b5ad71dc92efc397865dda41">SetMaxForce</a> (float32 force)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum friction force in N. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3abd33af3943197c89375057302fd0d"></a><!-- doxytag: member="b2FrictionJoint::GetMaxForce" ref="af3abd33af3943197c89375057302fd0d" args="() const " -->
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#af3abd33af3943197c89375057302fd0d">GetMaxForce</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum friction force in N. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e3aaf485dc86a378bb62ee78cea43aa"></a><!-- doxytag: member="b2FrictionJoint::SetMaxTorque" ref="a9e3aaf485dc86a378bb62ee78cea43aa" args="(float32 torque)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#a9e3aaf485dc86a378bb62ee78cea43aa">SetMaxTorque</a> (float32 torque)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum friction torque in N*m. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae59d07030bded21f46a6a432553e71c1"></a><!-- doxytag: member="b2FrictionJoint::GetMaxTorque" ref="ae59d07030bded21f46a6a432553e71c1" args="() const " -->
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#ae59d07030bded21f46a6a432553e71c1">GetMaxTorque</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum friction torque in N*m. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a27084c9f4a7ea0a4f590f687ac1edb"></a><!-- doxytag: member="b2FrictionJoint::Dump" ref="a9a27084c9f4a7ea0a4f590f687ac1edb" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_friction_joint.html#a9a27084c9f4a7ea0a4f590f687ac1edb">Dump</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump joint to dmLog. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7413c5f289257f0e993b7e750fe95b99"></a><!-- doxytag: member="b2FrictionJoint::b2FrictionJoint" ref="a7413c5f289257f0e993b7e750fe95b99" args="(const b2FrictionJointDef *def)" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>b2FrictionJoint</b> (const <a class="el" href="structb2_friction_joint_def.html">b2FrictionJointDef</a> *def)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72fbe2a2dce2c90e1b68395e715e1254"></a><!-- doxytag: member="b2FrictionJoint::InitVelocityConstraints" ref="a72fbe2a2dce2c90e1b68395e715e1254" args="(const b2SolverData &amp;data)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>InitVelocityConstraints</b> (const <a class="el" href="structb2_solver_data.html">b2SolverData</a> &amp;data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5aab459109e198a75e0151f36d50ee65"></a><!-- doxytag: member="b2FrictionJoint::SolveVelocityConstraints" ref="a5aab459109e198a75e0151f36d50ee65" args="(const b2SolverData &amp;data)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>SolveVelocityConstraints</b> (const <a class="el" href="structb2_solver_data.html">b2SolverData</a> &amp;data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1998353c72787b6074b2ef50dd1c2d2"></a><!-- doxytag: member="b2FrictionJoint::SolvePositionConstraints" ref="ac1998353c72787b6074b2ef50dd1c2d2" args="(const b2SolverData &amp;data)" -->
bool&#160;</td><td class="memItemRight" valign="bottom"><b>SolvePositionConstraints</b> (const <a class="el" href="structb2_solver_data.html">b2SolverData</a> &amp;data)</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8842818b75319de1e4f3ec70d784dce1"></a><!-- doxytag: member="b2FrictionJoint::m_localAnchorA" ref="a8842818b75319de1e4f3ec70d784dce1" args="" -->
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localAnchorA</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5920c253c6564bfd04a11e767f2e2db"></a><!-- doxytag: member="b2FrictionJoint::m_localAnchorB" ref="aa5920c253c6564bfd04a11e767f2e2db" args="" -->
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localAnchorB</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4f8286af03b0f37a9eec7e9884d7e26"></a><!-- doxytag: member="b2FrictionJoint::m_linearImpulse" ref="ad4f8286af03b0f37a9eec7e9884d7e26" args="" -->
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_linearImpulse</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab199dba9687ece4b816589b9e1e14750"></a><!-- doxytag: member="b2FrictionJoint::m_angularImpulse" ref="ab199dba9687ece4b816589b9e1e14750" args="" -->
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_angularImpulse</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae666a8093844e2fb75e4c3de6b3f377a"></a><!-- doxytag: member="b2FrictionJoint::m_maxForce" ref="ae666a8093844e2fb75e4c3de6b3f377a" args="" -->
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_maxForce</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42b3ac5d34ab2399a5e4f0ea9afe988d"></a><!-- doxytag: member="b2FrictionJoint::m_maxTorque" ref="a42b3ac5d34ab2399a5e4f0ea9afe988d" args="" -->
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_maxTorque</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a069c815e1cdf78160cb96b4b0047f64e"></a><!-- doxytag: member="b2FrictionJoint::m_indexA" ref="a069c815e1cdf78160cb96b4b0047f64e" args="" -->
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_indexA</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a378198c55100884de4587cb9ab22128f"></a><!-- doxytag: member="b2FrictionJoint::m_indexB" ref="a378198c55100884de4587cb9ab22128f" args="" -->
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_indexB</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa02b166017af5893b6b49b56dc96c70a"></a><!-- doxytag: member="b2FrictionJoint::m_rA" ref="aa02b166017af5893b6b49b56dc96c70a" args="" -->
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_rA</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99b95a2dbfb119cbccccb137748aca44"></a><!-- doxytag: member="b2FrictionJoint::m_rB" ref="a99b95a2dbfb119cbccccb137748aca44" args="" -->
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_rB</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af732965abe1f29f7469e1ea17506218c"></a><!-- doxytag: member="b2FrictionJoint::m_localCenterA" ref="af732965abe1f29f7469e1ea17506218c" args="" -->
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localCenterA</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55739866c1f3423caf2116e0a869ec45"></a><!-- doxytag: member="b2FrictionJoint::m_localCenterB" ref="a55739866c1f3423caf2116e0a869ec45" args="" -->
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localCenterB</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b7a482216efd081db94465db409fa21"></a><!-- doxytag: member="b2FrictionJoint::m_invMassA" ref="a7b7a482216efd081db94465db409fa21" args="" -->
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invMassA</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a189a3869e59f6b1e00c83fcaf6b08253"></a><!-- doxytag: member="b2FrictionJoint::m_invMassB" ref="a189a3869e59f6b1e00c83fcaf6b08253" args="" -->
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invMassB</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad004207b7392e9828f55d8f15dc2aa8"></a><!-- doxytag: member="b2FrictionJoint::m_invIA" ref="aad004207b7392e9828f55d8f15dc2aa8" args="" -->
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invIA</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79ab8b49c2d4ce6415e3fe9376947d4c"></a><!-- doxytag: member="b2FrictionJoint::m_invIB" ref="a79ab8b49c2d4ce6415e3fe9376947d4c" args="" -->
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invIB</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa49bf4b20865a4976c3fae8398191182"></a><!-- doxytag: member="b2FrictionJoint::m_linearMass" ref="aa49bf4b20865a4976c3fae8398191182" args="" -->
<a class="el" href="structb2_mat22.html">b2Mat22</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_linearMass</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8f9aa5e516d90f1c80f92b0eb410c38"></a><!-- doxytag: member="b2FrictionJoint::m_angularMass" ref="ab8f9aa5e516d90f1c80f92b0eb410c38" args="" -->
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_angularMass</b></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54ade8ed3d794298108d7f4c4e4793fa"></a><!-- doxytag: member="b2FrictionJoint::b2Joint" ref="a54ade8ed3d794298108d7f4c4e4793fa" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><b>b2Joint</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Friction joint. This is used for top-down friction. It provides 2D translational friction and angular friction. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="b2_friction_joint_8h_source.html">b2FrictionJoint.h</a></li>
<li>b2FrictionJoint.cpp</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Sat Sep 17 2011 17:35:55 for Box2D by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
